package com.library.system.modules.file.service;

import com.library.system.modules.file.bo.UploadFileBO;
import com.library.system.modules.file.entity.File;
import com.library.system.modules.file.vo.FileVO;
import com.library.system.modules.file.bo.FilePage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springframework.web.multipart.MultipartFile;

/**
 * @Author xyh
 * @Desc 文件表(File)表服务接口
 * @Date 2023-09-10 08:58:34
 */
public interface FileService extends IService<File> {

    /**
     * 分页查询
     */
    IPage<FileVO> queryByPage(FilePage page);

    /**
     * 根据ID查详情
     */
    FileVO queryById(Integer id);

    /**
     * 通过主键删除数据
     */
    boolean deleteById(Integer id);

    /**
     * 查询文件存不存在
     *
     * @param fileSign
     * @return
     */
    FileVO getFileBySign(String fileSign);

    /**
     * 上传文件
     *
     * @param file
     * @param bo
     * @return
     */
    FileVO upload(MultipartFile file, UploadFileBO bo);

    /**
     * 是否为本地存储平台
     * @param storagePlatform 存储平台名
     */
    boolean isLocalPlatform(String storagePlatform);

}
